#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//
//void print(int* p)
//{
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", *p++);
//	}
//}
//
//int main()
//{
//	int arr[10] = {1,2,3,4,5,6,7,8,9,10};
//	print(arr);
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//    int a = 0x11223344;
//    char* pc = (char*)&a;
//    *pc = 0;
//    printf("%x\n", a);
//    return 0;
//}

//#include <stdio.h>
//int main()
//{
//    int arr[] = { 1,2,3,4,5 };
//    short* p = (short*)arr;
//    int i = 0;
//    for (i = 0; i < 4; i++)
//    {
//        *(p + i) = 0;
//    }
//
//    for (i = 0; i < 5; i++)
//    {
//        printf("%d ", arr[i]);
//    }
//    return 0;
//}

//#include <stdio.h>
//int main()
//{
//	unsigned long pulArray[] = { 6,7,8,9,10 };
//	unsigned long* pulPtr;
//	pulPtr = pulArray;
//	*(pulPtr + 3) += 3;
//	printf("%d,%d\n", *pulPtr, *(pulPtr + 3));
//}

//#include <stdio.h>

//void reverse(char* p)
//{
//  
//}
//
//int main()
//{  
//
//	char arr[20] = { 0 };
//	reverse(arr);
//	return 0;
//}

//#include <stdio.h>
//
//void sta(int n)
//{
//	int count = 0;
//	while (n)
//	{
//		n = n & (n - 1);
//		count++;
//	}
//	printf("%d", count);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	sta(n);
//
//	return 0;
//}

#include<stdio.h>

void print(int n)
{
	int i = 0;
	for (i = 31; i >= 1; i -= 2)
	{
		printf("%d ", (n>>i) & 1);
	}
	printf("\n");
	for (i = 30; i >= 0; i -= 2)
	{
		printf("%d ", (n >> i) & 1);
	}
}



int main()
{
	int n = 0;
	scanf("%d", &n);
	print(n);
	return 0;
}
